﻿using System;
using System.Collections.Generic;
using FunctionalCLR;
using FunctionalCLR.Core;

namespace Zove.Test
{
    public class MockFunctionManager : IFunctionManager
    {
        #region IFunctionManager Members

        public void Add(string funcName, object node) {
            throw new NotImplementedException();
        }

        public FuncNode GetFunction(string functionName)
        {
            switch (functionName)
            {
                case "sin":
                    return new SinNode();
                case "cos":
                    return new CosNode();
                case "asin":
                    return new AsinNode();
                case "acos":
                    return new AcosNode();
            }

            return null;
        }

        #endregion

        #region IFunctionManager Members

        public FuncNode Add(string funcName, Node func) {
            throw new NotImplementedException();
        }

        public FuncNode Get(string functionName) {
            throw new NotImplementedException();
        }

        public Dictionary<string, object> Functions {
            get;
            set;
        }

        public bool Exist(string fileName) {
            throw new NotImplementedException();
        }

        public void Remove(string command) {
            throw new NotImplementedException();
        }

        #endregion

        #region IFunctionManager Members

        public void Add(string funcName, FuncNode func) {
            throw new NotImplementedException();
        }

        public bool IsUserDefinedFunction(string funcName) {
            return false;
        }

        #endregion
    }
}
